typing
为Python的一个标注库,此默认支持PEP 484
和PEP 526
指定的类型提示。最基本的支持由Any
、Union
、Tuple
、Callable
、TypeVar
和Generic
类型组成。有关完整的规范,请参阅PEP 484
,有关任何类型提示的简单介绍,请参阅PEP 483
。
举个栗子,函数接收并返回一个字符串,如下所示:
def func(name: str) -> str:
return "Hello" + name
在函数func
中,参数预期是str
类型,并且返回str
类型
typing
模块的作用:
- 类型检查,防止运行时出现参数和返回值类型不符合
- 作为开发文档附加说明,方便使用者调用传入和返回类型
- 该模块加入之后并不会影响程序的运行,不会报正式的错误,只有提醒
类型别名
类型别名通过将类型分配别名来进行定义,在这个例子中,Vector
和List[str]
可以视为可互换的同义词:
from typing import List
Vector = List[str]
def func(name: str) -> Vector:
return [name]